1. Field of the Invention
This invention relates to computer networks and, more particularly, to a system and method for efficiently locating an object, e.g., a storage object, in a computer network.
2. Description of the Related Art
Computer networks are important for many different applications. One important type of networking is referred to as peer-to-peer or P2P networking. As used herein, a peer-to-peer network is generally used to describe a decentralized network of peer nodes where each node may have similar capabilities and/or responsibilities. Participating peer nodes in a P2P network may communicate directly with each other. Work may be done and information may be shared through interaction among the peers. In addition, in a P2P network, a given peer node may be equally capable of serving as either a client or a server for another peer node.
A peer-to-peer network may be created to fulfill some specific need, or it may be created as a general-purpose network. Some P2P networks are created to deliver one type of service and thus typically run one application. For example, Napster was created to enable users to share music files. Other P2P networks are intended as general purpose networks which may support a large variety of applications. Any of various kinds of distributed applications may execute on a P2P network. Exemplary peer-to-peer applications include file sharing, messaging applications, distributed data storage, distributed processing, etc.
Although P2P networks offer certain advantages over conventional client-server architectures, prior P2P networks have suffered from scaling problems. One important obstacle to scaling has been the lack of an efficient search mechanism to locate objects stored on various nodes in the P2P network. It is often necessary for various nodes in a P2P network to locate objects stored on other nodes.
P2P networks can include a plurality of local area networks (LANs) that are joined together by wide area network (WAN) connections. Accesses across a WAN connection are typically expensive and have significantly higher latencies than accesses across a LAN connection. Prior search mechanisms that have been developed for P2P networks have not ensured that nodes within a LAN are able to locate objects within that LAN using only computing resources on the local LAN. Without this assurance, the overall system tends to have very high latencies and squanders limited expensive WAN bandwidth. Also, in large systems with many nodes, scaling would suffer if every node needed to know how to reach every other node in order to locate the various objects.